home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / Moscow ML 1.31 / source code / mosml / src / mosmllib / CharVector.sml < prev    next >
Encoding:
Text File  |  1996-07-03  |  1.2 KB  |  36 lines  |  [TEXT/R*ch]

  1. (* CharVector *)
  2.  
  3. type vector = string
  4. type elem = Char.char
  5.  
  6. local 
  7.     prim_val magic : 'a -> 'b = 1 "identity";
  8. in
  9.     val maxLen = Word8Vector.maxLen
  10.     
  11.     val fromList : elem list -> vector         = magic Word8Vector.fromList
  12.     val tabulate : int * (int -> elem) -> vector = magic Word8Vector.tabulate
  13.  
  14.     val length   : vector -> int          = magic Word8Vector.length
  15.     val sub      : vector * int -> elem         = magic Word8Vector.sub
  16.     val extract  : vector * int * int option -> vector 
  17.                         = magic Word8Vector.extract
  18.     val concat   : vector list -> vector        = magic Word8Vector.concat
  19.  
  20.  
  21.     val app      : (elem -> unit) -> vector -> unit
  22.                         = magic Word8Vector.app
  23.     val foldl    : (elem * 'b -> 'b) -> 'b -> vector -> 'b
  24.                         = magic Word8Vector.foldl
  25.     val foldr    : (elem * 'b -> 'b) -> 'b -> vector -> 'b
  26.                         = magic Word8Vector.foldr
  27.     
  28.     val appi     : (int * elem -> unit) -> vector * int * int option -> unit
  29.                         = magic Word8Vector.appi
  30.     val foldli   : (int * elem * 'b -> 'b) -> 'b -> vector*int*int option -> 'b
  31.                         = magic Word8Vector.foldli
  32.     val foldri   : (int * elem * 'b -> 'b) -> 'b -> vector*int*int option -> 'b
  33.                         = magic Word8Vector.foldri
  34.  
  35. end
  36.